<?php

declare(strict_types=1);

namespace DreamCat\StateMachine\HookInterface;

use DreamCat\StateMachine\Popo\MachineData;

/**
 * 审核通过后检查状态与提交时是否一致，不一致则调用此接口
 * @author vijay
 */
interface RejectOperatorInterface
{
    /**
     * 审核通过后，如果状态机状态与之前提交申请时的状态不一致，会调用此接口并拒绝执行状态转移
     * @param MachineData $machineData 状态机
     * @param string $operatorKey 动作标识
     * @param array $operatorParam 动作参数
     * @return void
     */
    public function rejectOperator(MachineData $machineData, string $operatorKey, array $operatorParam): void;
}

# end of file
